import type { Package } from './package'
import type { Photographer } from './photographer'

export interface AdditionalServices {
  extraPhotos: number
  frames: number[]
  albums: number[]
  tables: number[]
  otherServices: string[]
}

export interface Order {
  id: number
  order_number: string // 订单号
  booking_id: number // 关联的预约ID
  customer_name: string
  customer_phone: string
  photographer: Photographer
  package: Package
  additional_services: AdditionalServices
  amount: number // 总金额
  deposit: number // 定金金额
  paid_amount: number // 已支付金额
  shooting_date: string // 拍摄时间
  status: number // 订单状态
  payment_status: number // 支付状态
  payment_time?: string // 支付时间
  remark?: string
  created_at: string
  cancel_reason?: string
  is_review: boolean
}

// // 订单状态
// export const orderStatusMap = {
//   1: '待确认',
//   2: '已确认',
//   // 3: '拍摄中',
//   // 4: '后期处理中',
//   3: '已完成',
//   4: '已取消',
// }

// // 获取订单状态标签类型
// export const getOrderStatusTagType = (status: number) => {
//   const types: Record<number, string> = {
//     1: 'warning',
//     2: 'primary',
//     // 3: 'success',
//     // 4: 'success',
//     3: 'info',
//     4: 'danger',
//   }
//   return types[status] || ''
// }

// // 获取订单状态标签文本
// export const getOrderStatusLabel = (status: number) => {
//   const labels: Record<number, string> = {
//     1: '待确认',
//     2: '已确认',
//     // 3: '拍摄中',
//     // 4: '后期处理中',
//     3: '已完成',
//     4: '已取消',
//   }
//   return labels[status]
// }

// // 支付状态
// export const paymentStatusMap = {
//   1: '未支付',
//   2: '部分支付',
//   3: '已支付',
// }

// // 获取支付状态标签类型
// export const getPaymentStatusTagType = (status: number) => {
//   const types: Record<number, string> = {
//     1: 'danger',
//     2: 'warning',
//     3: 'success',
//   }
//   return types[status] || ''
// }

// // 获取支付状态标签文本
// export const getPaymentStatusLabel = (status: number) => {
//   const labels: Record<number, string> = {
//     1: '未支付',
//     2: '部分支付',
//     3: '已支付',
//   }
//   return labels[status]
// }

export interface OrderQuery {
  keyword?: string
  status?: number
  paymentStatus?: number
  startTime?: string
  endTime?: string
  photographerId?: number
}
